// stores/auth.ts
import { defineStore } from 'pinia';
import { ref } from 'vue';

export const useStore = defineStore('auth', {
  state: () => ({
    // 使用 ref 来确保响应式
    token: ref(''),
    userInfo: ref(null), // 可以添加更多用户信息，如果需要的话
  }),
  getters: {
    // 计算属性，用于判断用户是否登录
    isLogin: (state) => !!state.token,
  },
  actions: {
    // 用户登录行为（模拟）
    async login(token: string) {
      // 在这里可以添加实际的登录逻辑，比如 API 调用
      // 这里只是简单地设置 token
      this.token = token;
      // 可以选择性地设置 userInfo，例如从 API 响应中获取
      // this.userInfo = ...;
    },
    // 用户退出行为
    logout() {
      this.token = '';
      this.userInfo = null; // 清空用户信息
    },
  },
});